1. Field of the Invention
The present invention relates to image processing apparatuses and image processing programs and, more specifically, to an image processing apparatus for generating an image representing a water surface in a game world or the like in virtual three-dimensional space, and an image processing program executed on the apparatus.
2. Description of the Background Art
Conventionally, a game machine, which is one example of computer-equipped image processing apparatuses, may display an image of a moving (undulating) surface of water such as a sea or a river. Such image is often displayed mainly with the following two schemes.
With reference to FIG. 9A and FIG. 9B, prior art is described. To begin with, in a first scheme, as shown in FIG. 9A, a flat polygon composing a water surface object B is provided thereon with a pattern that gives a feeling of undulations of the water surface. This water surface object B is placed at a fixed position with respect to a land object A, thereby representing undulations of the water surface.
Next, in a second scheme, as shown in FIG. 9B, the water surface object B is placed at a fixed position with respect to the land object A. The water surface object B is composed of a plurality of small polygons, and the vertexes of the respective polygons are fluctuated independently in a vertical direction to deform the surface of the object, thereby representing undulations of the water surface.
However, as in the first scheme described above, when the undulations of the water surface are represented only with the pattern on the surface of the object, changes in undulations at the boundary between the water surface and a land (changes on a foreshore where swash and backwash are observed) cannot be represented. Therefore, such representation is poor in expressive power, compared with the actual water surface.
On the other hand, as in the second scheme described above, when the undulations of the water surface are represented by arbitrarily deforming the surface of the object, a large number of polygons are used for composing the object, thereby requiring a sufficient data storage area, and a complex, enormous computation processing for moving the respective vertexes of the polygons. Therefore, this second scheme is not so welcome in software development requiring high-speed operation.